//#include <stdio.h>
//#include <math.h>
//int main() {
//	int  i,g,s,b,q,w,sw,bw,n;
//	scanf("%d",&n);
//	for(i=100; i<pow(10,n); i++) {
//		g = i % 10 ;
//		s = i/10%10;
//		b = i/100%10;
//		q = i/1000%10;
//		w = i/10000%10;
//		sw= i/100000%10;
//		bw= i/1000000%10;
//		if (pow(g,n)+pow(s,n)+
//		        pow(b,n)+pow(q,n)+pow(w,n)+
//		        pow(sw,n)+pow(bw,n)==i)
//			printf("%d\n",i);
//	}
//	return 0;
//}


#include <stdio.h>
#include <math.h>
int fun(int n, int *p);
int prime(int n, int x);
int main(void) {
	int n;
	int *p;
	scanf("%d", &n);
	p = &n;
	for(int i = pow(10, n - 1); i < pow(10, n); i++)
		if(fun(i, p))
			printf("%d\n", i);
	return 0;
}
int prime(int x, int n) {
	int s = 1;
	for(int i = 1; i <= n; i++)
		s *= x;
	return s;
}
int fun(int n, int *p) {
	int sum = 0, a, ret = 0, b;
	b = n;
	do {
		a = n % 10;
		sum += prime(a, *p);
		n /= 10;
	} while(n > 0);
	if(sum == b)
		ret = 1;
	return ret;
}
